package com.utn.disenio.entrega2;

import java.util.ArrayList;
import com.lanchita.AerolineaLanchita;


public class AerolineaLanchitaAdapter implements Aerolineas {

	private AerolineaLanchita _aerolineaLanchita = AerolineaLanchita.getInstance();
	private static Integer porcentajeImpuesto = 15;
	
	@Override
	public void comprar(Asiento asiento) throws Exception {
		this._aerolineaLanchita.comprar(asiento.getCodigo());
	}

	@Override
	public ArrayList<Asiento> buscarAsientos(String origen, String destino,	String salida, String horaSalida, String llegada, String horaLlegada, Usuario usuario)
	{
		ArrayList<Asiento> misAsientos = new ArrayList<Asiento>();
		
		String[][] asientos = this._aerolineaLanchita.asientosDisponibles(origen, destino, salida, horaSalida, llegada, horaLlegada);

		Asiento asientoActual;
		
		if(asientos == null)
			return misAsientos;
		
		for (String[] unAsiento: asientos){
			Float precio = (Float.valueOf(unAsiento[1])) * ((porcentajeImpuesto/100) + 1) + usuario.impuestoAdicional();
			asientoActual = new Asiento(unAsiento[0], precio, unAsiento[2],unAsiento[3], unAsiento[4], this);
			
			if( usuario.puedeListar(asientoActual) )
				misAsientos.add(asientoActual);
		}
		
		return misAsientos;
	}
	
	public int getPorcentajeImpuesto()
	{
		return porcentajeImpuesto;
	}

}
